package com.populatton.utils;

/**相关正则
 * @创建人 shmily
 * @Date 2019/7/5
 * @描述
 */

public class RegularConstant {

    /**
     * 手机号正则
     */
    public final static String PHONE_NUMBER_REGULAR="^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9])|(16[6]))\\d{8}$";

    /**
     * 邮箱号正则
     */
    public final static String EMAIL_NUMBER_REGULAR="^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.[a-zA-Z0-9]{2,6}$";

    /**
     * YYYY-MM-DD正则
     */
    public final static String DATE_REGULAR="([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))";

    /**
     * YYYY年MM月DD日正则
     */
    public final static String DATE_FORMAT_REGULAR="([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})年(((0[13578]|1[02])月(0[1-9]|[12][0-9]|3[01])日)|((0[469]|11)月(0[1-9]|[12][0-9]|30)日)|(02月(0[1-9]|[1][0-9]|2[0-8])日))";

    /**
     * YYYY-MM-DD HH:MM:SS正则
     */
    public final static String DATE_TIME_REGULAR = "^(((((1[6-9]|[2-9]\\d)\\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((1[6-9]|[2-9]\\d)\\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\\d|30))|(((1[6-9]|[2-9]\\d)\\d{2})-0?2-(0?[1-9]|1\\d|2[0-8]))|(((1[6-9]|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\\d):[0-5]?\\d:[0-5]?\\d)$";

    /**
     * 身份证号正则
     */
    public final static String IDCARD_REGULAR="^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$";

    /**
     * 被邀请人类型正则
     */
    public final static String BE_INVITED_TYPE_REGULAR="^[C|B|H]{1}$";

    /**
     * 邀请人类型正则
     */
    public final static String INVITED_TYPE_REGULAR="^[Y|H|A]{1}$";

    /**
     * 密码正则
     */
    public final static String PASSWORD_REGULAR="^[0-9a-zA-Z]{6,20}$";

    /**
     * 弱密码正则6位重复密码
     */
    public final static String PAY_PASSWORD_VALIDATE = "^(?=.*\\d+)(?!.*?([\\d])\\1{5})[\\d]{6}$";

    /**
     * 统一社会信用代码正则
     */
    public final static String CORP_TAX_REGULAR="[0-9A-Z]{18}";

    /**
     * 汉字大写正则
     */
    public final static String CAPITALIZATION_OF_CHINESE_CHARACTERS_REGULAR="^[壹,亿,贰,仟,叁,佰,肆,拾,伍,万,陆,仟,柒,佰,捌,拾,玖]*$";

    /**
     * 汉字
     */
    public final static String CHINESE_REGULAR ="[\\u4E00-\\u9FA5]+";

    /**
     * 数字正则（银行卡号正则）
     */
    public final static String NUMBER_REGULAR ="^[1-9]\\d*$";

    /**
     * 公司名称
     */
    public final static String COMPANY_REGULAR ="^[\\(\\)\\（\\）\\u4E00-\\u9FA5]+$";

    /**
     * 地址
     */
    public final static String ADDRESS = "^[\\u4E00-\\u9FA5A-Za-z\\d\\-]+$";

    /**
     * 数字
     */
    public final static String NUMBER = "^[0-9]*$";

    /**
     * 匹配金额
     */
    public final static String MONEY_NUMBER = "^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|[0-9]*$";

    /**
     * 公司名称正则
     */
    public final static String COMPANY_NAME_REGULAR = "[^0-9a-zA-Z\\u4e00-\\u9fa5]";

    /**
     * 评论用户类型正则
     */
    public final static String COMMENT_USER_TYPE_REGULAR="^[1|2]{1}$";

    /**
     * 禁言状态正则
     */
    public final static String STOP_TALKING_REGULAR="^[0|1]{1}$";

    /**
     * 关注类型正则
     */
    public final static String FOLLOW_TYPE="^[0|1|2]{1}$";
}
